<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>OpenCV: cv::line_descriptor::KeyLine Struct Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../tutorial-utils.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
   &#160;<span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></li><li class="navelem"><a class="el" href="../../d2/d51/namespacecv_1_1line__descriptor.html">line_descriptor</a></li><li class="navelem"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html">KeyLine</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d1/d29/structcv_1_1line__descriptor_1_1KeyLine-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">cv::line_descriptor::KeyLine Struct Reference<div class="ingroups"><a class="el" href="../../dc/ddd/group__line__descriptor.html">Binary descriptors for lines extracted from an image</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>A class to represent a line.  
 <a href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#details">More...</a></p>

<p><code>#include &lt;opencv2/line_descriptor/descriptor.hpp&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aba88c983c0480a8e96357c12b427aabd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#aba88c983c0480a8e96357c12b427aabd">KeyLine</a> ()</td></tr>
<tr class="separator:aba88c983c0480a8e96357c12b427aabd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88b18e563b54841e2642566c0851d520"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a88b18e563b54841e2642566c0851d520">getEndPoint</a> () const</td></tr>
<tr class="separator:a88b18e563b54841e2642566c0851d520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30b2827d83df0e723a23946a2d3c37c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a30b2827d83df0e723a23946a2d3c37c1">getEndPointInOctave</a> () const</td></tr>
<tr class="separator:a30b2827d83df0e723a23946a2d3c37c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a08a6f3f00e2997150988203426273b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a5a08a6f3f00e2997150988203426273b">getStartPoint</a> () const</td></tr>
<tr class="separator:a5a08a6f3f00e2997150988203426273b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2206aae58c7d9728b6a993be0a608ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#ab2206aae58c7d9728b6a993be0a608ca">getStartPointInOctave</a> () const</td></tr>
<tr class="separator:ab2206aae58c7d9728b6a993be0a608ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a041a6bbf2fc22e3ab9f5a80ef5a5b922"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a041a6bbf2fc22e3ab9f5a80ef5a5b922">angle</a></td></tr>
<tr class="separator:a041a6bbf2fc22e3ab9f5a80ef5a5b922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a82cb1083a3e18d54b055a692b60eee"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a4a82cb1083a3e18d54b055a692b60eee">class_id</a></td></tr>
<tr class="separator:a4a82cb1083a3e18d54b055a692b60eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43b634f8f6b5953f2491b00bf6c231f6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a43b634f8f6b5953f2491b00bf6c231f6">endPointX</a></td></tr>
<tr class="separator:a43b634f8f6b5953f2491b00bf6c231f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b528bf3d1f3ab902e279ba1b5a593f1"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a1b528bf3d1f3ab902e279ba1b5a593f1">endPointY</a></td></tr>
<tr class="separator:a1b528bf3d1f3ab902e279ba1b5a593f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a260a577f6dc5778ef2fc668c5df32eb7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a260a577f6dc5778ef2fc668c5df32eb7">ePointInOctaveX</a></td></tr>
<tr class="separator:a260a577f6dc5778ef2fc668c5df32eb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f16ffeca01cfc6bfd9cec4c925c4248"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a1f16ffeca01cfc6bfd9cec4c925c4248">ePointInOctaveY</a></td></tr>
<tr class="separator:a1f16ffeca01cfc6bfd9cec4c925c4248"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a1b7b2712a9c77d64d749729bdb79c2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a7a1b7b2712a9c77d64d749729bdb79c2">lineLength</a></td></tr>
<tr class="separator:a7a1b7b2712a9c77d64d749729bdb79c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ef7fe33dd5d4096e679148c50bdb64e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a5ef7fe33dd5d4096e679148c50bdb64e">numOfPixels</a></td></tr>
<tr class="separator:a5ef7fe33dd5d4096e679148c50bdb64e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd62d95914b8005ee4f425c171c2ed1f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#acd62d95914b8005ee4f425c171c2ed1f">octave</a></td></tr>
<tr class="separator:acd62d95914b8005ee4f425c171c2ed1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9502f2f63fc1d4d15d10730359e750f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a9502f2f63fc1d4d15d10730359e750f5">pt</a></td></tr>
<tr class="separator:a9502f2f63fc1d4d15d10730359e750f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cd22aa3cdcf0613f457d4881b51f7ad"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a6cd22aa3cdcf0613f457d4881b51f7ad">response</a></td></tr>
<tr class="separator:a6cd22aa3cdcf0613f457d4881b51f7ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d23124ae5d210ba5ba5faebf5e89f3c"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a3d23124ae5d210ba5ba5faebf5e89f3c">size</a></td></tr>
<tr class="separator:a3d23124ae5d210ba5ba5faebf5e89f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadf42087a0908a900d34d9396037dc28"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#aadf42087a0908a900d34d9396037dc28">sPointInOctaveX</a></td></tr>
<tr class="separator:aadf42087a0908a900d34d9396037dc28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d7fb8e09d606597d0af5a0df7e72087"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a4d7fb8e09d606597d0af5a0df7e72087">sPointInOctaveY</a></td></tr>
<tr class="separator:a4d7fb8e09d606597d0af5a0df7e72087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300d7487fced03e0f781afbad5f6e67d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#a300d7487fced03e0f781afbad5f6e67d">startPointX</a></td></tr>
<tr class="separator:a300d7487fced03e0f781afbad5f6e67d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac36c0fe32df87388d9fa6a8def75f7e4"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html#ac36c0fe32df87388d9fa6a8def75f7e4">startPointY</a></td></tr>
<tr class="separator:ac36c0fe32df87388d9fa6a8def75f7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A class to represent a line. </p>
<p>As aformentioned, it is been necessary to design a class that fully stores the information needed to characterize completely a line and plot it on image it was extracted from, when required.</p>
<p>KeyLine* class has been created for such goal; it is mainly inspired to Feature2d's <a class="el" href="../../d2/d29/classcv_1_1KeyPoint.html" title="Data structure for salient point detectors. ">KeyPoint</a> class, since <a class="el" href="../../d1/dd7/structcv_1_1line__descriptor_1_1KeyLine.html" title="A class to represent a line. ">KeyLine</a> shares some of <em><a class="el" href="../../d2/d29/classcv_1_1KeyPoint.html" title="Data structure for salient point detectors. ">KeyPoint</a></em>'s fields, even if a part of them assumes a different meaning, when speaking about lines. In particular:</p>
<ul>
<li>the <em>class_id</em> field is used to gather lines extracted from different octaves which refer to same line inside original image (such lines and the one they represent in original image share the same <em>class_id</em> value)</li>
<li>the <em>angle</em> field represents line's slope with respect to (positive) X axis</li>
<li>the <em>pt</em> field represents line's midpoint</li>
<li>the <em>response</em> field is computed as the ratio between the line's length and maximum between image's width and height</li>
<li>the <em>size</em> field is the area of the smallest rectangle containing line</li>
</ul>
<p>Apart from fields inspired to <a class="el" href="../../d2/d29/classcv_1_1KeyPoint.html" title="Data structure for salient point detectors. ">KeyPoint</a> class, KeyLines stores information about extremes of line in original image and in octave it was extracted from, about line's length and number of pixels it covers. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aba88c983c0480a8e96357c12b427aabd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba88c983c0480a8e96357c12b427aabd">&#9670;&nbsp;</a></span>KeyLine()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::line_descriptor::KeyLine::KeyLine </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>constructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a88b18e563b54841e2642566c0851d520"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88b18e563b54841e2642566c0851d520">&#9670;&nbsp;</a></span>getEndPoint()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a> cv::line_descriptor::KeyLine::getEndPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the end point of the line in the original image </p>

</div>
</div>
<a id="a30b2827d83df0e723a23946a2d3c37c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30b2827d83df0e723a23946a2d3c37c1">&#9670;&nbsp;</a></span>getEndPointInOctave()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a> cv::line_descriptor::KeyLine::getEndPointInOctave </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the end point of the line in the octave it was extracted from </p>

</div>
</div>
<a id="a5a08a6f3f00e2997150988203426273b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a08a6f3f00e2997150988203426273b">&#9670;&nbsp;</a></span>getStartPoint()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a> cv::line_descriptor::KeyLine::getStartPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the start point of the line in the original image </p>

</div>
</div>
<a id="ab2206aae58c7d9728b6a993be0a608ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2206aae58c7d9728b6a993be0a608ca">&#9670;&nbsp;</a></span>getStartPointInOctave()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a> cv::line_descriptor::KeyLine::getStartPointInOctave </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the start point of the line in the octave it was extracted from </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a041a6bbf2fc22e3ab9f5a80ef5a5b922"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a041a6bbf2fc22e3ab9f5a80ef5a5b922">&#9670;&nbsp;</a></span>angle</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::angle</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>orientation of the line </p>

</div>
</div>
<a id="a4a82cb1083a3e18d54b055a692b60eee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a82cb1083a3e18d54b055a692b60eee">&#9670;&nbsp;</a></span>class_id</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cv::line_descriptor::KeyLine::class_id</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>object ID, that can be used to cluster keylines by the line they represent </p>

</div>
</div>
<a id="a43b634f8f6b5953f2491b00bf6c231f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43b634f8f6b5953f2491b00bf6c231f6">&#9670;&nbsp;</a></span>endPointX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::endPointX</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a1b528bf3d1f3ab902e279ba1b5a593f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b528bf3d1f3ab902e279ba1b5a593f1">&#9670;&nbsp;</a></span>endPointY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::endPointY</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a260a577f6dc5778ef2fc668c5df32eb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a260a577f6dc5778ef2fc668c5df32eb7">&#9670;&nbsp;</a></span>ePointInOctaveX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::ePointInOctaveX</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a1f16ffeca01cfc6bfd9cec4c925c4248"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f16ffeca01cfc6bfd9cec4c925c4248">&#9670;&nbsp;</a></span>ePointInOctaveY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::ePointInOctaveY</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a7a1b7b2712a9c77d64d749729bdb79c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a1b7b2712a9c77d64d749729bdb79c2">&#9670;&nbsp;</a></span>lineLength</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::lineLength</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the length of line </p>

</div>
</div>
<a id="a5ef7fe33dd5d4096e679148c50bdb64e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ef7fe33dd5d4096e679148c50bdb64e">&#9670;&nbsp;</a></span>numOfPixels</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cv::line_descriptor::KeyLine::numOfPixels</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>number of pixels covered by the line </p>

</div>
</div>
<a id="acd62d95914b8005ee4f425c171c2ed1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd62d95914b8005ee4f425c171c2ed1f">&#9670;&nbsp;</a></span>octave</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cv::line_descriptor::KeyLine::octave</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>octave (pyramid layer), from which the keyline has been extracted </p>

</div>
</div>
<a id="a9502f2f63fc1d4d15d10730359e750f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9502f2f63fc1d4d15d10730359e750f5">&#9670;&nbsp;</a></span>pt</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga7d080aa40de011e4410bca63385ffe2a">Point2f</a> cv::line_descriptor::KeyLine::pt</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>coordinates of the middlepoint </p>

</div>
</div>
<a id="a6cd22aa3cdcf0613f457d4881b51f7ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cd22aa3cdcf0613f457d4881b51f7ad">&#9670;&nbsp;</a></span>response</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::response</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the response, by which the strongest keylines have been selected. It's represented by the ratio between line's length and maximum between image's width and height </p>

</div>
</div>
<a id="a3d23124ae5d210ba5ba5faebf5e89f3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d23124ae5d210ba5ba5faebf5e89f3c">&#9670;&nbsp;</a></span>size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::size</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>minimum area containing line </p>

</div>
</div>
<a id="aadf42087a0908a900d34d9396037dc28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadf42087a0908a900d34d9396037dc28">&#9670;&nbsp;</a></span>sPointInOctaveX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::sPointInOctaveX</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>line's extremes in image it was extracted from </p>

</div>
</div>
<a id="a4d7fb8e09d606597d0af5a0df7e72087"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d7fb8e09d606597d0af5a0df7e72087">&#9670;&nbsp;</a></span>sPointInOctaveY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::sPointInOctaveY</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a300d7487fced03e0f781afbad5f6e67d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a300d7487fced03e0f781afbad5f6e67d">&#9670;&nbsp;</a></span>startPointX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::startPointX</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>lines's extremes in original image </p>

</div>
</div>
<a id="ac36c0fe32df87388d9fa6a8def75f7e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac36c0fe32df87388d9fa6a8def75f7e4">&#9670;&nbsp;</a></span>startPointY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float cv::line_descriptor::KeyLine::startPointY</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>opencv2/line_descriptor/<a class="el" href="../../db/d82/line__descriptor_2include_2opencv2_2line__descriptor_2descriptor_8hpp.html">descriptor.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:48 for OpenCV by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
